/**
 * 
 */
package edu.umd.clip.lm.util;



/**
 * @author Denis Filimonov <den@cs.umd.edu>
 *
 */
public class Distribution {
	private final Long2DoubleMap distribution;
	private long totalCount;
	private double backoff;
	/**
	 * @param dist
	 * @param totalCount
	 */
	public Distribution(Long2DoubleMap dist, long totalCount, double backoff) {
		this.distribution = dist;
		this.totalCount = totalCount;
		this.backoff = backoff;
	}
	
	public Long2DoubleMap getDistribution() {
		return distribution;
	}
	public long getTotalCount() {
		return totalCount;
	}
	
	public static Distribution emptyDistribution() {
		return new Distribution(new Long2DoubleMap(1), 0, 0);
	}

	public double getBackoff() {
		return backoff;
	}

	public void setBackoff(double backoff) {
		this.backoff = backoff;
	}

	/**
	 * @param totalCount the totalCount to set
	 */
	public void setTotalCount(long totalCount) {
		this.totalCount = totalCount;
	}
}
